#ifndef TCP_CLIENT_H
#define TCP_CLIENT_H

#include <QObject>
#include <QWidget>
#include <QString>
#include <QTcpSocket>
#include <QHostAddress>
#include <QByteArray>

class TCP_client : public QWidget
{
    Q_OBJECT
public:
    explicit TCP_client(QWidget *parent = nullptr);

public:
    void set_connect(const QString &address, quint16 port);
    void start_connect(void); // 开始连接
    void send_msg(QString msg);
    void disconnectFromHost(); // 新增：断开连接的公共方法
    // 新增：获取当前连接状态
    bool isConnected() const;
    bool isConnecting() const;
protected:
    QString HostAddr;  // 主机IP地址
    quint16 port;           // 端口
    QTcpSocket socket;
signals:
    // 连接成功
    void connect_sig(void);
    // 检测服务器是否和客户端断开连接
    void dis_connect_sig(void);
    // 检测服务器回复
    void read_sig(QString message);

};

#endif // TCP_CLIENT_H
